1. Technical Field of the Invention
This invention generally relates to digital recording, playing, and playback of previously recorded audiovisual (A/V) signals. This invention more particularly relates to a method for playing back MPEG video frames in reverse order such that video frames in a group of pictures (GOP) are played back with finer temporal granularity.
2. Description of Related Art
Conventional devices exist for recording broadcast audiovisual signals. Particularly, various digital VCRs are known that record an off-air broadcast and later playback the previously recorded program.
While digital VCRs have an advantage over analog VCRs because the playback is of the same digital quality as the real-time broadcast, such conventional digital VCRs also have certain disadvantages. Among these disadvantages is that, due to current storage limitations, reverse playback of MPEG video frames is typically limited to viewing the I frames (the anchor frames or interframes) of a GOP.
A typical GOP may contain one I-frame in 15 frames of video. As a consequence, each I-frame is used to represent about 0.5 seconds of video. Thus for a 1x speed reverse playback, the same video image would be displayed for 0.5 second (i.e. the single I-frame is repeated for 15 frame times).
For example, in conventional systems that offer reverse playback features, a typical GOP may include I, P and B frames in some order, such as I B B P B B P B B P B B P B B. These frames are actually different pictures of a subject image, hence group of pictures or GOP. The P-frames are single directional predictive frames which are dependent on the I frame (i.e., the P frames typically show changes in the basic overall image, like cloud cover changes in an image of a city skyline, for example). The B frames are bidirectional frames which provide for high compression (they have the highest compression ratio in the GOP).
The problem during reverse playback of GOPs on conventional systems is that large portions of recorded image data (e.g., the P and B-frames in the GOP) are skipped or omitted in the playback. Particularly, only the I-frames are played back. This is due to the fact that there are not enough frame times to decode the number of frames needed to display all the image data in a GOP.
For example, take a recorded broadcast such as a football game. The viewer has just seen a successful field-goal attempt split the uprights. He now wants to replay it again, and selects the reverse playback option on his remote. With conventional systems, as the video is being reversed, the viewer might see the ball go through the uprights in one displayed segment (frame), in mid-flight in the next displayed segment, and then maybe at the point of impact with the kicker's foot in the next reverse displayed video segment. Since only the I-frames are being played back in reverse, a substantial part of the video footage is omitted.
Moreover, suppose the sequence of I and P-frames to be displayed in reverse are as follows: In, Pn+1, Pn+2, Pn+3 and Pn+4 (in storage and decode order). To display these frames in reverse order, the viewer would be presented with Pn+4, Pn+3, Pn+2, Pn+1 and In. Due to the predictive nature of MPEG compression, at least 4 frames (namely In, Pn+1, Pn+2, Pn+3) must be decoded and stored in order to decode and display the first frame to be displayed (Pn+4). Further, a 1x reverse playback of I and P-frames means that each frame will be displayed for 3 frame times (since the two intermediate B-frames are not decoded or displayed). Therefore, each time that the last frame in a GOP is desired to be displayed, 5 decodes must take place.
Given that MPEG decoders typically decode one frame in one frame time ( 1/30 second), it is impossible to decode 5 frames in 3 frame times. Accordingly, this means that a typical decoder can only decode 3 frames, namely In, Pn+1 and Pn+2 in 3 frame times. As mentioned above, Pn+3 and Pn+4 are also required to be decoded in order to display Pn+4. Hence, it is impossible to display I and P-frames at 1x reverse playback—since only the I-frames can be displayed at 1x reverse playback with existing MPEG architectures. This is an undesirable situation because each I-frame in a GOP represents about 0.5 second of video. As a consequence, the reverse playback is very jerky and annoying to the human eye.
Therefore, what is desired is a method and apparatus for performing reverse playback of previously recorded audiovisual (A/V) signals, which addresses the aforementioned drawbacks, and which is able to display I, P and B-frames of a GOP in reverse playback at speeds of at least 1x or greater.